When processing natural language input, it can be advantageous to utilize multiple recognition engines, each with their specific strengths, such as having short latency, being specialized in a specific domain or capable of handling generic topics. Approaches that do utilize multiple recognition engines, however, often face three main challenges.
The first challenge is the uncertainty of the recognition hypotheses respectively provided by multiple recognition engines. Individual recognition hypotheses are often associated with a level of confidence in the hypothesis, i.e., the likelihood that the hypothesis is correct. While selecting between recognition hypotheses having high and low confidences might be relatively straightforward, selecting between recognition hypotheses having similar confidences might be relatively more difficult.
The second challenge is the latency associated with the recognition hypotheses provided by different recognition engines. Where multiple recognition engines are employed to process the natural language input, the respective recognition hypotheses might be received from the recognition engines asynchronously, i.e., at different times. Some recognition engines might provide recognition hypotheses with relatively low latency, but those recognition hypotheses might have relatively lower probabilities. Other recognition engines might provide more reliable recognition hypotheses but with relatively higher latency. As a result, selecting between faster but relatively less reliable recognition hypotheses or delayed but relatively more reliable recognition hypotheses can also be difficult.
The third challenge is the selection of a final recognition result from multiple recognition hypotheses that have been generated. The confidence associated with a recognition hypothesis is but one factor that might be considered when selecting a final recognition result. Other factors, such as the context in which the natural language input is received, might also suggest whether one recognition hypothesis is more likely to be accurate relative to another recognition hypothesis. Integrating multiple factors to select a final recognition result, however, can also present difficulties.
In view of the challenges discussed above, a need exists for an approach to recognizing natural language input that can arbitrate between competing recognition hypotheses and that can consider the context in which that natural language input is provided.